// Grunt 的入口文件
// 用于定义一些需要 Grunt 自动执行的任务
// 需要导出一个函数
// 此函数接收一个 Grunt 的形参，grunt 是一个对象，提供一些创建任务时可以用到的 API

module.exports = grunt => {
    grunt.registerTask('foo', () => {
        console.log('hellon grunt')
        return false
    })
    grunt.registerTask('bar', '任务描述', () => {
        console.log('other task')  
    })
    grunt.registerTask('default', ['foo', 'bar'])
    // 此时运行 yarn grunt default 会报错：Task "foo" failed. Use --force to continue.
    // 可以执行命令： yarn grunt default --force ，后续任务可以正常执行

    // 异步任务标记失败的实现
    grunt.registerTask('async-task', function () {
        const done = this.async()
        setTimeout(() => {
            console.log('async task working')
            done(false) // 添加false实参
        }, 1000)
    })
}